package com.kaifamiao.bytestreams;

import java.io.BufferedOutputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStream;
import java.nio.charset.StandardCharsets;

public class BufferedOutputStreamTest {

    public static void main(String[] args) throws IOException {
        // 创建一个可以向指定文件中输出数据的 节点流
        OutputStream out = new FileOutputStream( "out.txt" );
        // 创建一个以指定字节输出流为底层支持流的带有缓冲功能的字节输出流
        BufferedOutputStream bos = new BufferedOutputStream( out );

        bos.write( 'a' );
        bos.write( 'b' );
        bos.write( 'c' );
        bos.write( '\n' );

        // 将缓冲区中的所有字节写入到底层支持流(底层输出流)
        bos.flush();

        bos.write( "开发喵".getBytes(StandardCharsets.UTF_8) );

        // 当关闭缓冲流则会调用flush方法将缓冲区内容写入到底层流
        bos.close();
        out.close();
    }

}
